#! /usr/bin/env python
# coding=utf-8

# 对每一个直系同源群 运行 mafft

# 使用的是蛋白 L-INS-i模型

import os
import shutil
import sys
import argparse


parser = argparse.ArgumentParser(
    description='''对每个直系同源群运行mafft比对，注意是比对氨基酸序列
    用法:
    run_mafft_for_orthologous_group.py -i Orthogroup_Sequences_filtered -o Orthogroup_Sequences_mafft_raw -t 64
    由大天才于2021年7月12日创建于浙江农业大学''')

parser.add_argument('-i',
                help='必须给定，过滤得到Orthogroup文件的路径')

parser.add_argument('-o',
                help='必须给定，输出文件的路径')

parser.add_argument('-t',
                help='线程数，默认为8')

args = parser.parse_args()
if not args.i or not args.o:
    parser.print_help()
    sys.exit()



infile_path = args.i

outfile_path  = args.o


if not args.t:
	thread = 8
else:
	thread = args.t

try:
	shutil.rmtree(outfile_path)
except:
	pass

try:
	os.mkdir(outfile_path)
except:
	pass



for i in os.listdir(infile_path):

	if i.split('.')[-1] in ['fa']:

		infasta = infile_path + '/' + i
		alifasta =  outfile_path + '/' + i
		a = os.system('mafft --localpair --thread %s  --maxiterate 1000 %s > %s' % (thread,infasta, alifasta))
		
